package org.springblade.modules.admin.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springblade.modules.admin.entity.BuildingElevatorTemplate;
import org.springblade.modules.admin.entity.BuildingExt;
import org.springblade.modules.admin.entity.RelationAlias;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * @Description
 * @Author ysq
 * @Date 2021/8/24
 **/
@Data
public class ProjectDTO {

	@ApiModelProperty(value = "主键id（buildingId)")
	@JsonSerialize(using = ToStringSerializer.class)
	private Long id;

	@NotNull(message = "项目名称不能为空")
	@ApiModelProperty(value = "名称")
	private String name;

	@NotNull(message = "项目类型不能为空")
	@ApiModelProperty(value = "类型")
	private String type;

	@ApiModelProperty(value = "经度")
	@NotNull(message = "longitude不能为空")
	private BigDecimal longitude;

	@ApiModelProperty(value = "纬度")
	@NotNull(message = "latitude不能为空")
	private BigDecimal latitude;

	@NotNull(message = "详细地址不能为空")
	@ApiModelProperty(value = "详细地址")
	private String address;

	@ApiModelProperty(value = "定位地址")
	private String locationAddress;

	@NotNull(message = "联系方式不能为空")
	@ApiModelProperty(value = "手机号码")
	private String phone;

	@NotNull(message = "联系人不能为空")
	@ApiModelProperty(value = "联系人")
	private String contactsName;

	@ApiModelProperty(value = "性别：男-0，女-1")
	private Integer gender;

	@ApiModelProperty(value = "省")
	private String provinceName;

	@ApiModelProperty(value = "省code")
	private String provinceCode;

	@ApiModelProperty(value = "市")
	private String cityName;

	@ApiModelProperty(value = "市code")
	private String cityCode;

	@ApiModelProperty(value = "区")
	private String adName;

	@ApiModelProperty(value = "区code")
	private String adCode;

	@ApiModelProperty(value = "项目电梯关联结构模板")
	private List<BuildingElevatorTemplate> templates;

	@ApiModelProperty(value = "项目扩展信息")
	private BuildingExt buildingExt;

	@ApiModelProperty(value = "项目别名")
	private List<RelationAlias> relationAliases;

	@ApiModelProperty(value = "1:男2女")
	private Integer genderStatus;

	@ApiModelProperty("对接商务用户id")
	private Long businessUserId;
}
